Computing devices, such as notebook computers, personal data assistants (PDAs), and mobile handsets, have user interface devices, which are also known as human interface device (HID). One such user interface device is a keyboard. Keyboards include a set of input keys for the computing device. The input keys may be standard typewriter keys, such as the alphabetic letters and numbers. The input keys may also include several specialized keys, such as Enter, Control, Alt, Delete, Escape, Cursor keys, and the like.
FIG. 1A illustrates a resistance matrix of a conventional keyboard. Conventional keyboard 100 includes a keyboard architecture using a resistance matrix. The resistance matrix includes multiple rows (Xo-X2) 101(0)-101(2), and multiple columns (Yo-Y2) 102(0)-102(2). All the rows 101(0)-101(2) are each connected to a pullup resistor (e.g., 103(0)-103(2)), and all the columns 102(0)-102(2) are each connected to a pull-down transistor (e.g., 104(0)-104(2)), such as an N-Channel MOSFET (NMOS). Above the resistance matrix there are multiple buttons 105(0)-105(8) (e.g., keyboard keys). Upon pressing a button, the corresponding row and column (X, Y) will be shorted together. For example, the row X will read “0,” otherwise the row X is “1.”
One example of the resistance matrix for a PC is a PS/2 keyboard. The PS/2 keyboard typically has between 101 and 104 keys that are uniquely positioned in a resistance scan matrix. The scan matrix consists of M rows and N columns, all of which are electrically isolated from each other. On average, the number of rows (M) is no greater than 8, and the number of columns (N) is no greater than 20. Each key sits over two isolated contacts of its corresponding row and column in the scan matrix. When a keyboard key 108 is pressed, the two contacts 106 and 107 are shorted together, and the row and column of the keyboard key 108 are electrically connected, as illustrated in FIG. 1B.
The PS/2 keyboard may include an embedded controller that performs a variety of tasks, all of which help to cut down on the overall system overhead. The PS/2 controller may monitor the keys and report to the main computer whenever a keyboard key is pressed or released. FIG. 1C illustrates scan results for no keyboard keys pressed on a conventional resistance scan matrix. The controller writes a scan pattern 109 out to the column lines consisting of all is and one 0 which is shifted through each column. In FIG. 1C no keyboard keys are pressed, resulting in all is in the scan results 110 being read at the row lines. FIG. 1D illustrates scan results for a keyboard key 111 pressed on a conventional resistance scan matrix. The controller writes a scan pattern 112 out to the column lines consisting of all is and one 0 which is shifted through each column. The scan results 113 are then read at the row lines. If a 0 is propagated to a row line, then the key 111 at the intersection of that column and row has been pressed.
The conventional resistance scan matrix designs described have large pin counts because every row and every column is connected to a pin. The pin count for these conventional resistance matrix keyboards is the sum of the number of rows and the number of columns. For example, the PC keyboard needs at least 21 pins to build a resistance scan matrix. Having a large pin count, may increase the die area of the circuit, or alternatively, or may decrease the robustness of the circuit by decreasing the possibility of additional functionality in the same circuit with limited pins. Also, the resistance scan matrix keyboards cannot be built in very small areas because it is limited by the pull-up resistor and mechanical button for each keyboard key. For example, the mechanical button of each keyboard key may have an area of about 0.5 centimeters (cm)×0.5 cm, the total keyboard area will be at least 25.25 cm2 for a keyboard having 101 keyboard keys (e.g., 101×0.5 cm×0.5 cm=25.25 cm2).
Another conventional keyboard may include a virtual keyboard. Virtual keyboards are a representation of a keyboard displayed on a touch screen. Tapping the “virtual keys” with a stylus or finger is the same as pressing a real key on a keyboard. For example, a PDA may supply keyboard functionality by providing a keyboard displayed on the touch screen of the PDA, instead of including the mechanical keyboard keys on the assembly of the PDA. This design, however, may take up too much precious real estate on the display.
Another example of a conventional virtual keyboard is a representation of a keyboard projected onto a flat surface such as a desktop. Using fingers as with a normal keyboard, an optical or electronic beam is used to pick up the tapping of the keyboard keys of the projected image. Such a device enables PDAs and other small handhelds to create a full-size keyboard. One example of this type of virtual keyboards is a virtual laser keyboard (VKB). The VKB works by using both infrared and laser technology to produce an invisible circuit and project a full-size virtual QWERTY keyboard on to any surface. The virtual PC keyboard behaves exactly like a real one: direction technology based on optical recognition enables the user to tap the images of the keys, which feeds into the compatible PDA, Smartphone, laptop or PC. QWERTY refers to a standard English-language typewriter keyboard (sometimes called the Sholes keyboard after its inventor), as opposed to Dvorak, foreign-language layouts (e.g. “keyboard AZERTY” in French-speaking countries), a space-cadet, or APL keyboards.